package com.keensense.vcm.model;

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import java.util.List;

@XmlRootElement(name = "response")
public class ListCameraResponse extends BaseResponse{

    @XmlElement
    private Integer count;

    @XmlElement(name = "total-count")
    private Integer totalCount;

    @XmlElement
    private Integer onlineCount;


    @XmlElementWrapper(name = "camera-list")
    @XmlElement(name = "camera")
    private List<Camera> cameras;

    @XmlTransient
    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    @XmlTransient
    public Integer getTotalCount() {
        return totalCount;
    }

    public void setTotalCount(Integer totalCount) {
        this.totalCount = totalCount;
    }

    @XmlTransient
    public Integer getOnlineCount() {
        return onlineCount;
    }

    public void setOnlineCount(Integer onlineCount) {
        this.onlineCount = onlineCount;
    }

    @XmlTransient
    public List<Camera> getCameras() {
        return cameras;
    }

    public void setCameras(List<Camera> cameras) {
        this.cameras = cameras;
    }

    public static class Camera {
        /**
         * 摄像机编码
         */
        @XmlElement
        private String sn;
        /**
         * 摄像机名称
         */
        @XmlElement
        private String name;
        /**
         * 安装高度
         */
        @XmlElement(name = "mount-height")
        private String mountHeight;

        /**
         * 摄像机经度
         */
        @XmlElement
        private String longitude;
        /**
         * 摄像机纬度
         */
        @XmlElement
        private String latitude;
        /**
         * 摄像机地址
         */
        @XmlElement
        private String address;
        /**
         * 摄像机IP,取流url
         */
        @XmlElement(name = "stream-url")
        private String streamUrl;
        /**
         * 摄像机方位
         */
        @XmlElement
        private String direction;
        /**
         * 车道
         */
        @XmlElement
        private String lane;
        /**
         * 摄像机在线状态(0：离线，1：在线)
         */
        @XmlElement(name = "camera-state")
        private Integer cameraState;

        /**
         * 摄像机类型
         */
        @XmlElement(name = "camera-type")
        private String cameraType;
        /**
         * 摄像机用途
         */
        @XmlElement(name = "camera-use")
        private String cameraUse;
        /**
         * M string 摄像机功能
         */
        @XmlElement(name = "camera-feature")
        private String cameraFeature;


        /**
         * M string 平台名称
         */
        @XmlElement(name = "plat-name")
        private String platName;

        @XmlElement
        private String vcnCameraUse;


        @XmlTransient
        public String getSn() {
            return sn;
        }

        public void setSn(String sn) {
            this.sn = sn;
        }

        @XmlTransient
        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        @XmlTransient
        public String getMountHeight() {
            return mountHeight;
        }

        public void setMountHeight(String mountHeight) {
            this.mountHeight = mountHeight;
        }

        @XmlTransient
        public String getLongitude() {
            return longitude;
        }

        public void setLongitude(String longitude) {
            this.longitude = longitude;
        }

        @XmlTransient
        public String getLatitude() {
            return latitude;
        }

        public void setLatitude(String latitude) {
            this.latitude = latitude;
        }

        @XmlTransient
        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }

        @XmlTransient
        public String getStreamUrl() {
            return streamUrl;
        }

        public void setStreamUrl(String streamUrl) {
            this.streamUrl = streamUrl;
        }

        @XmlTransient
        public String getDirection() {
            return direction;
        }

        public void setDirection(String direction) {
            this.direction = direction;
        }

        @XmlTransient
        public String getLane() {
            return lane;
        }

        public void setLane(String lane) {
            this.lane = lane;
        }

        @XmlTransient
        public Integer getCameraState() {
            return cameraState;
        }

        public void setCameraState(Integer cameraState) {
            this.cameraState = cameraState;
        }

        @XmlTransient
        public String getCameraType() {
            return cameraType;
        }

        public void setCameraType(String cameraType) {
            this.cameraType = cameraType;
        }

        @XmlTransient
        public String getCameraUse() {
            return cameraUse;
        }

        public void setCameraUse(String cameraUse) {
            this.cameraUse = cameraUse;
        }

        @XmlTransient
        public String getCameraFeature() {
            return cameraFeature;
        }

        public void setCameraFeature(String cameraFeature) {
            this.cameraFeature = cameraFeature;
        }

        @XmlTransient
        public String getPlatName() {
            return platName;
        }

        public void setPlatName(String platName) {
            this.platName = platName;
        }

        @XmlTransient
        public String getVcnCameraUse() {
            return vcnCameraUse;
        }

        public void setVcnCameraUse(String vcnCameraUse) {
            this.vcnCameraUse = vcnCameraUse;
        }
    }
}
